---
title: Chapitre 24. Localisation - Utilisation et configuration de l'I18N/L10N
part: Partie III. Administration Système
prev: books/handbook/virtualization
next: books/handbook/cutting-edge
showBookMenu: true
weight: 28
path: "/books/handbook/"
---

[[l10n]]
= Localisation - Utilisation et configuration de l'I18N/L10N
:doctype: book
:toc: macro
:toclevels: 1
:icons: font
:sectnums:
:sectnumlevels: 6
:sectnumoffset: 24
:partnums:
:source-highlighter: rouge
:experimental:
:images-path: books/handbook/l10n/

ifdef::env-beastie[]
ifdef::backend-html5[]
:imagesdir: ../../../../images/{images-path}
endif::[]
ifndef::book[]
include::shared/authors.adoc[]
include::shared/mirrors.adoc[]
include::shared/releases.adoc[]
include::shared/attributes/attributes-{{% lang %}}.adoc[]
include::shared/{{% lang %}}/teams.adoc[]
include::shared/{{% lang %}}/mailing-lists.adoc[]
include::shared/{{% lang %}}/urls.adoc[]
toc::[]
endif::[]
ifdef::backend-pdf,backend-epub3[]
include::../../../../../shared/asciidoctor.adoc[]
endif::[]
endif::[]

ifndef::env-beastie[]
toc::[]
include::../../../../../shared/asciidoctor.adoc[]
endif::[]

[[l10n-synopsis]]
== Synopsis

FreeBSD est un projet à très large audience avec des utilisateurs et des contributeurs provenant du monde entier. Ce chapitre discute des fonctions d'internationalisation et de localisation de FreeBSD qui permettent aux non-anglophones de travailler. Il y a de nombreux aspects de l'implémentation i18n au niveau système et application, et quand ce sera possible nous renverrons le lecteur à des sources de documentation plus spécifiques.

Après la lecture de ce chapitre, vous connaîtrez:

* Comment les différentes langues et "locales" sont codées sur les systèmes d'exploitation modernes.
* Comment paramétrer les "locales" pour votre interpréteur de commandes.
* Comment configurer la console pour d'autres langues que l'anglais.
* Comment employer le système X Window efficacement avec différentes langues.
* Où trouver plus d'informations sur l'écriture d'applications conformes à la norme i18n.

Avant de lire ce chapitre, vous devrez:

* Savoir comment installer des logiciels tiers (crossref:ports[ports,Installer des applications. les logiciels pré-compilés et les logiciels portés]).

[[l10n-basics]]
== Les bases

=== Qu'est-ce que I18N/L10N?

Les développeurs ont raccourci le terme internationalisation en I18N, en comptant le nombre de lettres entre la première et la dernière du mot internationalisation. L10N utilise le même principe, et provient du mot "localisation". Combinées ensemble, les méthodes I18N/L10N, les protocoles, et les applications conformes permettent aux utilisateurs d'utiliser la langue de leur choix.

Les applications I18N sont programmées en utilisant des kits I18N par dessous les bibliothèques. Cela permet aux développeurs d'écrire un simple fichier et traduire les menus et textes affichés dans chaque langue. Nous encourageons fortement les programmeurs à suivre cette convention.

=== Pourquoi devrais-je employer l'I18N/L10N?

I18N/L10N est utilisé à chaque fois que vous désirez afficher, entrer, ou traiter des données dans des langues autres que l'anglais.

=== Quelles sont les langues supportées par l'I18N?

I18N et L10N ne sont pas spécifiques à FreeBSD. Actuellement, on peut choisir parmi la plupart des langues principales du monde, y compris mais pas seulement: le chinois, l'allemand, le japonais, le coréen, le français, le russe, le vietnamien et d'autres.

[[using-localization]]
== Utiliser la localisation

Dans toute sa splendeur, I18N n'est pas spécifique à FreeBSD et est une convention. Nous vous encourageons à aider FreeBSD à suivre cette convention.

Le paramétrage des "locales" est basé sur trois termes principaux: le code de la langue, le code du pays, et le codage des caractères. Les noms de "locales" sont construits à partir de ces trois éléments comme suit:

[.programlisting]
....
CodeLangue_CodePays.CodageCaractères
....

=== Codage de la langue et du pays

Afin de localiser un système FreeBSD pour une langue spécifique (ou tout autre UNIX(R) supportant l'I18N), l'utilisateur doit déterminer les codes spécifiques pour le pays et la langue (les codes pays indiquent aux applications quelle variation d'une langue donnée utiliser). De plus, les navigateurs Web, les serveurs SMTP/POP, les serveurs Web... agissent en fonction de ces codes. Ce qui suit est un exemple de codes langue/pays:

[.informaltable]
[cols="1,1", frame="none", options="header"]
|===
| Code langue/pays
| Description

|en_US
|Anglais - Etats Unis

|ru_RU
|Russe pour la Russie

|zh_TW
|Chinois traditionnel pour Taiwan
|===

=== Codage des caractères

Certaines langues utilisent les codages non-ASCII sur 8 bits ou codent des caractères sur plusieurs octets, voir man:multibyte[3] pour plus de détails. Les vieilles applications ne les reconnaissent pas ou les remplacent à tord par des caractères de contrôle. Les applications récentes reconnaissent normalement les caractères 8 bits. En fonction de l'implémentation, les utilisateurs devront peut être compiler une application avec le support des caractères sur 8 bits ou multi-octets, ou la configurer correctement. Afin d'accepter l'usage et le traitement de tels caractères, le link:https://www.FreeBSD.org/ports/[catalogue des logiciels portés de FreeBSD] fournit pour certains programmes une version dans chaque langue. Référez-vous à la documentation I18N de chaque logiciel porté respectif.

Spécifiquement, l'utilisateur doit consulter la documentation de l'application pour décider de comment la configurer correctement ou comment passer les valeurs correctes à la procédure configure, au [.filename]#Makefile# ou au compilateur.

Quelques éléments à garder à l'esprit sont:

* Les jeux de caractères au codage simple des caractères de la bibliothèque C (voir man:multibyte[3]), par exemple ISO8859-1, ISO8859-15, KOI8-R, et CP437.
* Les codages étendus ou multi-octets, e.g. EUC, Big5.

Vous pouvez contrôler la liste des jeux de caractères actuellement actifs dans le http://www.iana.org/assignments/character-sets[registre de l'IANA].

[NOTE]
====
FreeBSD utilise à la place un codage des "locales" compatible avec X11.
====

=== Applications I18N

Dans le système de logiciels portés et pré-compilés de FreeBSD, les applications I18N ont été nommées avec `I18N` dans leur nom pour une identification aisée. Cependant, elles ne supportent pas toujours la langue désirée.

[[setting-locale]]
=== Configurer les "locales"

Généralement il est suffisant d'exporter le nom de la "locale" grâce à la variable `LANG` sous l'interpréteur de commandes utilisé lors de la session. Cela pourra être fait dans le fichier [.filename]#~/.login_conf# de l'utilisateur ou le fichier de configuration de l'interpréteur de commandes de l'utilisateur ([.filename]#~/.profile#, [.filename]#~/.bashrc#, [.filename]#~/.cshrc#). Il n'est pas nécessaire de configurer toutes les autres variables de localisation comme `LC_CTYPE`, `LC_CTIME`. Veuillez consulter la documentation de FreeBSD spécifique à votre langue pour plus d'informations.

Vous devrez configurer les deux variables d'environnement suivantes dans vos fichiers de configuration:

* `LANG` pour la famille de fonctions POSIX(R) man:setlocale[3]
* `MM_CHARSET` pour le jeu de caractères MIME des applications

Cela comprend la configuration de l'interpréteur de commandes, la configuration spécifique des applications, et celle de X11.

==== Méthodes de configuration des "locales"

Il existe deux méthodes pour configurer les "locales", elles sont décrites ci-dessous. La première (celle qui est recommandée) est d'assigner les variables d'environnement dans une <<login-class,classe de session>>, et la seconde est d'ajouter le paramétrage des variables d'environnement dans les <<startup-file,fichiers d'initialisation>> de l'interpréteur de commandes du système.

[[login-class]]
===== Méthode utilisant les classes de session utilisateur

Cette méthode permet d'assigner une fois pour toute les variables d'environnement nécessaires pour le nom des "locales" et le jeu de caractères MIME et cela pour toutes les sessions au lieu de le faire à chaque nouvelle session par l'intermédiaire de la configuration des fichiers d'initialisation de l'interpréteur de commandes. La <<usr-setup,configuration au niveau utilisateur>> peut être faite par l'utilisateur lui-même et la <<adm-setup,configuration au niveau administrateur>> demande les privilèges de super-utilisateur.

[[usr-setup]]
====== Configuration au niveau utilisateur

Voici un exemple minimal d'un fichier [.filename]#.login_conf# dans le répertoire personnel d'un utilisateur, fichier qui a les deux variables fixées pour le codage Latin-1:

[.programlisting]
....
me:\
	:charset=ISO-8859-1:\
	:lang=de_DE.ISO8859-1:
....

Voici un exemple de fichier [.filename]#.login_conf# qui fixe les variables pour le chinois traditionnel dans le codage BIG-5. Notez les nombreuses variables supplémentaires paramétrées parce que certains logiciels ne respectent pas les variables des "locales" correctement pour le chinois, le japonais, et le coréen.

[.programlisting]
....
#Users who do not wish to use monetary units or time formats
#of Taiwan can manually change each variable
me:\
	:lang=zh_TW.Big5:\
	:setenv=LC_ALL=zh_TW.Big:\
	:setenv=LC_COLLATE=zh_TW.Big5:\
	:setenv=LC_CTYPE=zh_TW.Big5:\
	:setenv=LC_MESSAGES=zh_TW.Big5:\
	:setenv=LC_MONETARY=zh_TW.Big5:\
	:setenv=LC_NUMERIC=zh_TW.Big5:\
	:setenv=LC_TIME=zh_TW.Big5:\
	:charset=big5:\
	:xmodifiers="@im=gcin": #Set gcin as the XIM Input Server
....

Voir la <<adm-setup,configuration au niveau administrateur>> et la page de manuel man:login.conf[5] pour plus de détails.

[[adm-setup]]
===== Configuration au niveau administrateur

Vérifiez que que la classe de session d'utilisateur dans [.filename]#/etc/login.conf# fixe la bonne langue. Soyez sûr que ces paramètres apparaissent dans [.filename]#/etc/login.conf#:

[.programlisting]
....
nom_langue:intitulé_comptes:\
	:charset=jeu_caractères_MIME:\
	:lang=nom_locale:\
	:tc=default:
....

Donc si l'on reste sur notre exemple précédent utilisant le Latin-1, cela donnera quelque chose comme:

[.programlisting]
....
german:German Users Accounts:\
	:charset=ISO-8859-1:\
	:lang=de_DE.ISO8859-1:\
	:tc=default:
....

Avant de modifier les classes de session des utilisateurs, exécutez la commande suivante:

[source,shell]
....
# cap_mkdb /etc/login.conf
....

pour rendre visible à l'intégralité du système la nouvelle configuration du fichier [.filename]#/etc/login.conf#.

===== Modifier les classes de session avec man:vipw[8]

Utilisez `vipw` pour ajouter de nouveaux utilisateurs, et créer une entrée ressemblant à celle-ci:

[.programlisting]
....
utilisateur:mot_de_passe:1111:11:langue:0:0:Nom d'utilisateur:/home/utilisateur:/bin/sh
....

===== Modifier les classes de session avec man:adduser[8]

Utilisez `adduser` pour ajouter de nouveaux utilisateurs, et faites ce qui suit:

* Paramétrez `defaultclass = langue` dans [.filename]#/etc/adduser.conf#. Gardez à l'esprit que vous devez dans ce cas entrer une classe par `default` (défaut) pour tous les utilisateurs d'autres langues.
* Une variante est d'entrer la langue spécifiée à chaque fois que man:adduser[8] affiche 
+
[source,shell]
....
Enter login class: default []:
....
+
* Une autre alternative est d'employer ce qui suit pour chaque utilisateur de langue différente que vous désirez ajouter:
+
[source,shell]
....
# adduser -class langue
....

===== Modifier les classes de session avec man:pw[8]

Si vous utilisez man:pw[8] pour ajouter de nouveaux utilisateurs, appelez la fonction de cette manière:

[source,shell]
....
# pw useradd nom_utilisateur -L langue
....

[[startup-file]]
===== Méthode utilisant les fichiers d'initialisation de l'interpréteur de commandes

[NOTE]
====
Cette méthode n'est pas recommandée parce qu'elle demande une configuration différente pour chaque interpréteur de commandes choisi. Utilisez la <<login-class,méthode utilisant les classes de session utilisateur>> à la place.
====

Pour ajouter le nom de la "locale" et le jeu de caractère MIME, positionnez juste les deux variables d'environnement comme montré ci-dessous dans les fichiers d'initialisation de l'interpréteur de commandes [.filename]#/etc/profile# et/ou [.filename]#/etc/csh.login#. Nous utiliserons la langue allemande comme exemple ci-dessous:

Dans [.filename]#/etc/profile#:

[.programlisting]
....
LANG=de_DE.ISO8859-1; export LANG
MM_CHARSET=ISO-8859-1; export MM_CHARSET
....

Ou dans [.filename]#/etc/csh.login#:

[.programlisting]
....
setenv LANG de_DE.ISO8859-1
setenv MM_CHARSET ISO-8859-1
....

Alternativement, vous pouvez ajouter les instructions précédentes à [.filename]#/usr/shared/skel/dot.profile# (similaire à ce qui fut utilisé dans [.filename]#/etc/profile# ci-dessus), ou [.filename]#/usr/shared/skel/dot.login# (similaire à ce qui fut utilisé dans [.filename]#/etc/csh.login# ci-dessus).

Pour X11:

Dans [.filename]#$HOME/.xinitrc#:

[.programlisting]
....
LANG=de_DE.ISO8859-1; export LANG
....

Ou:

[.programlisting]
....
setenv LANG de_DE.ISO8859-1
....

En fonction de votre interpréteur de commandes (vois ci-dessus).

[[setting-console]]
=== Configuration de la console

Pour tous les ensembles de jeu de caractères utilisés par la bibliothèque C, positionnez les bonnes polices de caractères pour la console dans [.filename]#/etc/rc.conf# pour la langue en question avec:

[.programlisting]
....
font8x16=nom_police
font8x14=nom_police
font8x8=nom_police
....

Le _nom_police_ provient ici du répertoire [.filename]#/usr/shared/syscons/fonts#, sans le suffixe [.filename]#.fnt#.

Vérifiez également que vous avez paramétré les bonnes tables de clavier et de correspondance d'affichage pour votre jeu de caractères C par l'intermédiaire de `sysinstall` ([.filename]#/stand/sysinstall# sous les versions de FreeBSD antérieures à la 5.2). Une fois dans sysinstall, sélectionnez [.guimenuitem]#Configure#, puis [.guimenuitem]#Console#. Alternativement, vous pouvez ajouter ce qui suit au fichier [.filename]#/etc/rc.conf#:

[.programlisting]
....
scrnmap=table_correspondance_affichage
keymap=nom_table_clavier
keychange="numéro_touche_fonction séquence"
....

La _table_correspondance_affichage_ ici provient du répertoire [.filename]#/usr/shared/syscons/scrnmaps# sans le suffixe [.filename]#.scm#. Une table de correspondance d'affichage avec une police de correspondance est généralement nécessaire pour passer de 8 à 9 bits la matrice de caractère d'une carte VGA dans une zone pseudo-graphique, i.e., déplacer les lettres en dehors de cette zone si la police d'écran utilise une colonne de 8 bits.

Si vous avez le "daemon" moused activé par défaut grâce à la ligne suivante dans votre [.filename]#/etc/rc.conf#:

[.programlisting]
....
moused_enable="YES"
....

alors lisez les informations sur le curseur de souris dans le paragraphe suivant.

Par défaut le curseur du pilote man:syscons[4] de la console occupe la zone d'adresses 0xd0-0xd3 dans le jeu de caractères. Si votre langue utilise cette zone, vous devez déplacer la zone du curseur en dehors. Pour effectuer cela sous FreeBSD, ajoutez la ligne suivante dans [.filename]#/etc/rc.conf#:

[.programlisting]
....
mousechar_start=3
....

Le _nom_table_clavier_ provient ici du répertoire [.filename]#/usr/shared/syscons/keymaps# sans le suffixe [.filename]#.kbd#. Si vous n'êtes pas sûr de la table de clavier à utiliser, vous pouvez employer man:kbdmap[1] pour tester la table sans avoir à redémarrer.

Le `keychange` est généralement utilisé pour programmer les touches de fonction pour correspondre avec le type de terminal sélectionné parce que les séquences de touches de fonction ne peuvent être définies dans la table de clavier.

Soyez également sûr de configurer le type de console correct dans le fichier [.filename]#/etc/ttys# pour toutes les entrées `ttyv*`. Les correspondances actuellement pré-définies sont:

[.informaltable]
[cols="1,1", frame="none", options="header"]
|===
| Jeu de caractères
| Type de terminal

|ISO8859-1 ou ISO8859-15
|`cons25l1`

|ISO8859-2
|`cons25l2`

|ISO8859-7
|`cons25l7`

|KOI8-R
|`cons25r`

|KOI8-U
|`cons25u`

|CP437 (jeu de caractères VGA par défaut)
|`cons25`

|US-ASCII
|`cons25w`
|===

Pour les langues au caractères étendus ou multi-octets, utilisez le logiciel porté adéquat de votre répertoire [.filename]#/usr/ports/langue#. Certains logiciels apparaissent comme utilisant la console alors que le système lui voit un vtty série, par conséquent vous devez réserver suffisamment de vttys pour X11 et la console pseudo-série. Voici une liste partielle des applications pour utiliser d'autres langues sous la console:

[.informaltable]
[cols="1,1", frame="none", options="header"]
|===
| Langue
| Emplacement

|Chinois traditionnel (BIG-5)
|package:chinese/big5con[]

|Japonais
|package:japanese/kon2-16dot[] ou package:japanese/mule_freewnn[]

|Coréen
|package:korean/han[]
|===

=== Configuration d'X11

Bien qu'X11 ne fasse pas partie du projet FreeBSD, nous avons inclus quelques éléments d'informations ici pour les utilisateurs de FreeBSD. Pour plus de détails, référez-vous au http://www.x.org/[site Web d'Xorg] ou à celui du serveur X11 que vous utilisez.

Dans le fichier [.filename]#~/.Xresources#, vous pouvez en plus adapter les paramètres I18N spécifiques des applications (e.g., polices de caractères, menus, etc...).

==== Affichage des polices de caractères

Installez le serveur Xorg (package:x11-servers/xorg-server[]) ou le serveur XFree86(TM) (package:x11-servers/XFree86-4-Server[]), puis installez les polices de caractères TrueType(R) de la langue concernée. Un paramétrage correct des "locales" devrait vous permettre de visualiser les menus dans la langue que vous avez choisie etc.

==== Saisie de caractères non-anglais

Le protocole "X11 Input Method" - méthode de saisie pour X11 (XIM) est un nouveau standard pour tous les clients X11. Toutes les applications X11 devraient être écrites en tant que clients XIM qui reçoivent les entrées de serveurs de saisie XIM. Il existe différents serveurs XIM disponibles pour différentes langues.

=== Configuration de l'imprimante

Certains jeux de caractères de la bibliothèque C sont généralement codés en dur dans les imprimantes. Les jeux de caractères étendus ou multi-octets demandent une configuration spéciale et nous recommandons d'utiliser apsfilter. Vous pouvez également convertir le document en format PostScript(R) ou PDF en utilisant des convertisseurs spécifiques à la langue.

=== Noyau et systèmes de fichiers

Le système de fichiers rapide de FreeBSD (FFS) est complètement sur 8 bits, et peut donc être utilisé avec n'importe quel jeu de caractères de la bibliothèque C (voir man:multibyte[3]), mais il n'y a aucun jeu de caractères de stocké dans le système de fichiers; i.e., c'est du 8 bits brut et le système ne sait rien sur l'ordre du codage. Officiellement, le FFS ne supporte encore aucun jeu de caractères étendus ou multi-octets. Cependant, certains jeux de caractères étendus ou multi-octets disposent de correctifs indépendants pour FFS activant un tel support. Ce sont seulement des solutions temporaires non portables ou des "bidouilles" et nous avons décidé de ne pas les inclure dans l'arborescence des sources. Référez-vous aux sites Internet des langues respectives pour plus d'informations et pour les correctifs.

Le support FreeBSD du système fichiers MS-DOS(R) a la capacité paramétrable de faire la conversion entre jeux de caractères MS-DOS(R), Unicode et les jeux de caractères choisis pour le système de fichiers FreeBSD. Voir la page de manuel man:mount_msdosfs[8] pour plus de détails.

[[l10n-compiling]]
== Compiler des programmes I18N

De nombreux logiciels ont été portés pour FreeBSD avec le support I18N. Certains d'entre eux sont identifiés avec -I18N dans le nom du logiciel porté. Ces derniers et beaucoup d'autres programmes intègrent le support I18N et ne nécessitent aucune considération spéciale.

Cependant, certaines applications comme MySQL nécessitent d'avoir un fichier [.filename]#Makefile# configuré avec le jeu de caractères spécifiques. Ceci est en général fait dans le [.filename]#Makefile# ou effectué en passant une valeur à configure dans les sources.

[[lang-setup]]
== Localiser FreeBSD pour des langues spécifiques

[[ru-localize]]
=== Russe (codage KOI8-R)

Pour plus d'informations sur le codage KOI8-R, consultez les http://koi8.pp.ru/[Références KOI8-R (Jeu de caractères russes pour Internet)].

==== Configuration des "locales"

Ajoutez les lignes suivantes dans votre fichier [.filename]#~/.login_conf#:

[.programlisting]
....
me:My Account:\
	:charset=KOI8-R:\
	:lang=ru_RU.KOI8-R:
....

Voir plus haut dans ce chapitre pour des exemples de configuration des <<setting-locale,"locales">>.

==== Configuration de la console

* Ajoutez la ligne suivante à votre fichier [.filename]#/etc/rc.conf#:
+
[.programlisting]
....
mousechar_start=3
....

* Ajoutez également les paramétres suivants dans [.filename]#/etc/rc.conf#:
+
[.programlisting]
....
keymap="ru.utf-8"
scrnmap="utf-82cp866"
font8x16="cp866b-8x16"
font8x14="cp866-8x14"
font8x8="cp866-8x8"
....

* Pour chaque entrée `ttyv*` dans [.filename]#/etc/ttys#, utilisez `cons25r` comme type de terminal.

Voir plus haut dans ce chapitre pour des exemples de configuration de la <<setting-console,console>>.

==== Configuration de l'imprimante

Comme la plupart des imprimantes avec un jeu de caractères russes ont un "code page" matériel CP866, un filtre de sortie spécial pour la conversion du KOI8-R vers le CP866 est nécessaire. Un tel filtre est installé par défaut sous [.filename]#/usr/libexec/lpr/ru/koi2alt#. Une entrée de [.filename]#/etc/printcap# pour imprimante russe devra ressembler à:

[.programlisting]
....
lp|Russian local line printer:\
	:sh:of=/usr/libexec/lpr/ru/koi2alt:\
	:lp=/dev/lpt0:sd=/var/spool/output/lpd:lf=/var/log/lpd-errs:
....

Consultez la page de manuel man:printcap[5] pour plus de détails.

==== Système de fichiers MS-DOS(R) et noms de fichiers russes

L'exemple suivant d'entrée du fichier man:fstab[5] active le support des noms de fichiers russes sur les systèmes de fichiers MS-DOS(R) montés:

[.programlisting]
....
/dev/ad0s2      /dos/c  msdos   rw,-Wkoi2dos,-Lru_RU.KOI8-R 0 0
....

L'option `-L` la "locale" utilisée, et `-W` fixe la table de conversion de caractères. Pour utiliser l'option `-W` assurez-vous de monter [.filename]#/usr# avant la partition MS-DOS(R), car en effet les tables de conversion sont situées dans le répertoire [.filename]#/usr/libdata/msdosfs#. Pour plus d'informations, consultez la page de manuel man:mount_msdosfs[8].

==== Configuration de X11

. Effectuez tout d'abord la configuration des <<setting-locale,"locales">> comme décrit plus haut dans ce chapitre.
. Si vous utilisez Xorg, installez le paquetage package:x11-fonts/xorg-fonts-cyrillic[].
+ 
Contrôlez la section `"Files"` de votre fichier [.filename]#/etc/X11/xorg.conf#. Les lignes suivantes doivent être ajoutées _avant_ toute autre entrée `FontPath`:
+
[.programlisting]
....
FontPath   "/usr/X11R6/lib/X11/fonts/cyrillic/misc"
FontPath   "/usr/X11R6/lib/X11/fonts/cyrillic/75dpi"
FontPath   "/usr/X11R6/lib/X11/fonts/cyrillic/100dpi"
....
+ 
Si vous utilisez un mode vidéo haute résolution, intervertissez les lignes 75 dpi et 100 dpi.
+
[NOTE]
====
Consultez le catalogue des logiciels portés pour plus de fontes cyrilliques.
====

. Pour mettre en service un clavier russe, ajoutez ce qui suit à la section `"Keyboard"` de votre fichier [.filename]#xorg.conf#:
+
[.programlisting]
....
Option "XkbLayout"   "us,ru"
Option "XkbOptions"  "grp:toggle"
....
+
Vérifiez également que `XkbDisable` est désactivé (mis en commentaire).
+ 
Pour l'option `grp:caps_toggle` le passage de russe à latin se fera par l'intermédiaire de kbd:[Right Alt], pour `grp:ctrl_shift_toggle`, le passage se fera à l'aide de la séquence kbd:[Ctrl+Shift]. L'ancienne fonctionnalitée de la touche kbd:[CapsLock] est toujours disponible via kbd:[Shift+CapsLock] (en mode latin uniquement). Pour l'option `grp:toggle` le passage du russe au latin se fera par l'intermédiaire de la touche kbd:[Right Alt]. L'option `grp:caps_toggle` ne fonctionne pas sous Xorg pour une raison inconnue.
+ 
Si vous disposez de touches "Windows(R)" sur votre clavier, et que vous constatez que certaines touches non-alphabétiques ne sont pas appariées correctement en mode russe, ajoutez la ligne suivante à votre fichier [.filename]#xorg.conf#:
+
[.programlisting]
....
Option "XkbVariant" ",winkeys"
....
+
[NOTE]
====
Le clavier russe XKB peut ne pas fonctionner avec des applications non localisées.
====

[NOTE]
====
localisées. Pour être un minimum localisée, une application devrait appeler la fonction `XtSetLanguageProc (NULL, NULL, NULL);` assez tôt dans le programme.

Consulter http://koi8.pp.ru/xwin.html[KOI8-R pour X Window] pour plus d'instructions sur la localisation des applications pour X11.
====

=== Localisation du chinois traditionnel pour Taiwan

Le projet FreeBSD taiwanais dispose d'un guide sur FreeBSD en chinois à l'adresse http://netlab.cse.yzu.edu.tw/\~statue/freebsd/zh-tut/[http://netlab.cse.yzu.edu.tw/~statue/freebsd/zh-tut/] utilisant de nombreuses applications du répertoire [.filename]#chinese# du catalogue des logiciels portés. Le rédacteur du guide sur FreeBSD en chinois est Shen Chuan-Hsing mailto:statue@freebsd.sinica.edu.tw[statue@freebsd.sinica.edu.tw].

Chuan-Hsing Shen mailto:statue@freebsd.sinica.edu.tw[statue@freebsd.sinica.edu.tw] a créé la http://netlab.cse.yzu.edu.tw/~statue/cfc/[collection FreeBSD chinoise (CFC)] de logiciels en utilisant le document `zh-L10N-tut` taiwanais. Les logiciels pré-compilés et les fichiers de procédures sont disponibles à l'adresse link:ftp://freebsd.csie.nctu.edu.tw/pub/taiwan/CFC/[ftp://freebsd.csie.nctu.edu.tw/pub/taiwan/CFC/].

=== Localisation pour la langue allemande (valable également pour tous les langues respectant le standard ISO 8859-1)

Slaven Rezic mailto:eserte@cs.tu-berlin.de[eserte@cs.tu-berlin.de] a rédigé un guide sur l'utilisation des "umlauts" sur une machine FreeBSD. Le guide est écrit en allemand et est disponible sur http://user.cs.tu-berlin.de/\~eserte/FreeBSD/doc/umlaute/umlaute.html[http://user.cs.tu-berlin.de/~eserte/FreeBSD/doc/umlaute/umlaute.html].

=== Localisation pour le japonais et le coréen

Pour le japonais, référez-vous à http://www.jp.FreeBSD.org/[http://www.jp.FreeBSD.org/], et pour le coréen à http://www.kr.FreeBSD.org/[http://www.kr.FreeBSD.org/].

=== Documentation FreeBSD dans d'autres langues que l'anglais

Certains contributeurs à FreeBSD ont traduit des parties de la documentation FreeBSD dans d'autres langues. Les traductions sont disponibles grâce à des liens sur le link:https://www.FreeBSD.org/[site principal] ou dans [.filename]#/usr/shared/doc#.
